La presente clase forma parte de un concurso de oposición abierto de la UNAM, en el cual se evaluará la asignatura optativa Propiedades Físicas de los Sólidos (clave: 0087).
Dicha asignatura tienen como objetivo introducir a los estudiantes a los aspectos formales de las propiedades formales de los sólidos desde el punto de vista de la teoría cuántica haciendo uso de los conceptos desarrollados en el curso obligatorio de Química Cuántica I.
En esta clase no puedo presuponer que ustedes ya llevaron dicho curso, por lo que intentaré hacer mención de los resultados conocidos en lugar de realizar deducciones, posiblemente laboriosas.
El tema a exponer y evaluar es el Unidad 5/5.3 Método de bandas, o más generalmente conocido como la Teoría de Bandas. Dicha teoría explica que los estados electrónicos en estructuras cristalinas generan bandas y su estructura nos permite describir el comportamiento de los electrones. Es un hito en el estudio de los sólidos que introdujo Felix Bloch en 1929 al aplicar la teoría cuántica a los sólidos [ Über die Quantenmechanik der Elektronen in Kristallgittern].
Objetivo de la clase
Describir cómo surge una banda electrónica con lo cual podremos definir las bandas electrónicas, y decir qué estructura tienen. Ocuparemos la estructura de las bandas para explorar las propiedades ópticas.
1 Planteamiento
El punto de partida en todo problema de la mecánica cuántica es escribir el Hamiltoniano (el Hamiltoniano es un operador que describe la energética del sistema), si el Hamiltoniano no depende explícitamente el tiempo las soluciones de la ecuación de Schrödinger
donde \(\psi\) es solución de la ecuación de Schrödinger estacionaria
\[
\begin{align}
\hat{H} \psi = E \psi
\end{align}
\]
Por lo que, el problema a resolver es, dado un \(\hat{H}\), determinar quienes son las funciones que cumplen que al aplicarle el operador \(\hat{H}\) me regresan la misma función multiplicada por un factor. Las funciones se llaman eigenfunciones, \(\psi\), y los factores que multiplican, \(E\) se conocen como eigenvalores.
Comencemos escribiendo el Hamiltoniano de un cristal. Un cristal se conforma por electrones, neutrones y protones. En nuestro contexto, estamos interesados en describir la fenomenología de los movimientos colectivos más que la descripción individual de los entes que constituyen al cristal; por lo que, consideraremos los electrones de valencia y a cada núcleo con los electrones de las capas llenas como una partícula, al cual llamaremos core. Entonces, el Hamiltoniano se escribe como
Técnicamente, si denotamos las posiciones de los core por \(\vec{R}_i\) y su momento por \(\vec{P}_i\), y la posición de los electrones por \(\vec{r}_i\) y su momento por \(\vec{p}_i\) el Hamiltoniano de \(N\) cores y \(n\) electrones se escribe de la siguiente forma
Nuestro primer paso es realizar la aproximación de Bohr-Oppenheimer, la cual permite la separación del movimiento de los electrones del movimiento de los núcleos. Es decir, debido a las diferencias de masa, el tiempo característico de los electrones es mucho menor que el tiempo característico de los núcleos. Por lo que los núcleos están estáticos para los electrones y los núcleos ven a los electrones como la contribución promedio de los electrones.
En dicha aproximación, el Hamiltoniano asociado a la mecánica de los electrones es:
Otro resultado que utilizaremos de la teoría cuántica es que, las soluciones del Hamiltoniano \(\hat{H}_{\text{el}}\) que se puede escribir como la suma de Hamiltonianos de partículas no interactuantes es
Notamos que el \(\hat{H}_{\text{el},i}\) es igual para todos.
Idependientemente del formalismo, el resultado es que si resolvemos el Hamiltoniano de un electrón \(\hat{H}_{\text{el},i}\) entonces tenemos la solución del Hamiltoniano de \(n\) electrones \(\hat{H}_{\text{el}}\).
Identificamos que el Hamiltoniano en el esquema de la función de onda es, \[
\begin{align}
\hat{H}_{\text{el},i} = -\frac{\hbar^2}{2m_{\text{e}}}\nabla^2 - \sum_{j=1}^{N} \frac{1}{4\pi\epsilon_0} \frac{eq_{\text{core},j}}{|\vec{R}_j-\vec{r}|}
\end{align}
\tag{1}\]
del cual buscamos las soluciones,
\[
\begin{align}
\hat{H}_{\text{el},i} \psi(\vec{r}) = E \psi(\vec{r})
\end{align}
\tag{2}\]
1.1 Ejemplo: Molecula \({\rm H}_2\)
En el caso de la molécula de \({\rm H}_2\) el Hamiltoniano a resolver,
Notamos que si tuvieramos sólo los primeros dos términos del Hamiltoniano, tenemos un Hamiltoniano de un átomo de Hidrógeno en la posición \(\vec{R}_1\), y la solución para el nivel de energía más bajo sería el \(1s\). Entonces,
De igual forma, tomado el primer término de Equation 3 y el último, la solución de más baja energía es un orbital \(1s\) ahora en la posición \(\vec{R}_2\)
\[
\begin{align}
\hat{H}_{\text{H}_2} \psi = E \psi
\end{align}
\]
En lugar de resolverlos analíticamente el problema, podemos utilizar el método varicional lineal. Proponemos una solución que sea combinación lineal de \(N\) funciones conocidas
Las soluciones de Equation 1 están dadas por el Teorema de Bloch.
Antes de enunciar el Teorema generemos una intuación sobre las soluciones de Equation 1. Grafiquemos quien es el término, recordando que tenemos una estructura cristalina
from pylab import*import plotly.graph_objects as godef GenerarRed(n_1,n_2,a_1,a_2):# -- Desarrollo técnico --# Malla de enteros N1,N2 = meshgrid(n_1,n_2)# Cambiar a columnas N1 = N1.flatten() N2 = N2.flatten() N1y2 = column_stack((N1,N2))# Agrupar los vectores de red avec = [a_1,a_2]# Tomar todas las combinaciones Rx,Ry = dot( N1y2,avec ).Treturn Rx,Rya_1 = [1,0]a_2 = [1/2,sqrt(3)/2]n_1 = arange(-100,100)n_2 = arange(-100,100)Rx,Ry = GenerarRed(n_1,n_2,a_1,a_2)sitio1x = Rx + (1/3)*( a_1[0]+a_2[0] )sitio1y = Ry + (1/3)*( a_1[1]+a_2[1] )sitio2x = Rx + (2/3)*( a_1[0]+a_2[0] )sitio2y = Ry + (2/3)*( a_1[1]+a_2[1] )npts =60xmin,xmax =-1,2ymin,ymax =-1,2X,Y = meshgrid(linspace(xmin,xmax,npts),linspace(xmin,xmax,npts))V = zeros_like(X)for n inrange(len(Rx)): V +=-1/(sqrt( (sitio1x[n]-X)*(sitio1x[n]-X) + (sitio1y[n]-Y)*(sitio1y[n]-Y) )) V +=-1/(sqrt( (sitio2x[n]-X)*(sitio2x[n]-X) + (sitio2y[n]-Y)*(sitio2y[n]-Y) ))Vmax = V.max()fac =1.002PLOTS = [go.Surface(x=X,y=Y,z=V, cmin=fac*Vmax, cmax=Vmax, opacity=0.8, showscale=False), go.Scatter3d(x=sitio1x,y=sitio1y,z=Vmax*ones_like(Rx), mode='markers',showlegend=False), go.Scatter3d(x=sitio2x,y=sitio2y,z=Vmax*ones_like(Rx), mode='markers',showlegend=False), go.Scatter3d(x=[0,a_1[0]],y=[0,a_1[1]],z=[Vmax,Vmax], mode='lines', line=dict(color='black',width=5), showlegend=False), go.Scatter3d(x=[0,a_2[0]],y=[0,a_2[1]],z=[Vmax,Vmax], mode='lines', line=dict(color='black',width=5), showlegend=False), go.Scatter3d(x=[a_1[0],a_1[0]+a_2[0]],y=[a_1[1],a_1[1]+a_2[1]],z=[Vmax,Vmax], mode='lines', line=dict(color='black',width=5), showlegend=False), go.Scatter3d(x=[a_2[0],a_1[0]+a_2[0]],y=[a_2[1],a_1[1]+a_2[1]],z=[Vmax,Vmax], mode='lines', line=dict(color='black',width=5), showlegend=False)]fig = go.Figure( data=PLOTS )camera =dict( eye=dict(x=0.5, y=2, z=0.1))fig.update_layout( width=500, height=500, scene =dict( xaxis_title ='x', yaxis_title ='y', zaxis_title ='V', xaxis =dict(range=[xmin,xmax],showticklabels=False), yaxis =dict(range=[ymin,ymax],showticklabels=False), zaxis =dict(nticks=2,range=[fac*Vmax,Vmax],showticklabels=False) ), scene_camera=camera)fig.show()
Dado que el potencial Equation 1 es periódico, se tiene el mismo entorno para todo punto, podemos esperar que la probabilidad de encontrar al electrón en un punto de la celda unitaria es la misma que el de una celda vecina.
Teorema de Bloch
Sea \(\hat{H}\) un Hamiltoniano de un electrón con un potencial periódico,
los eigenestados \(\psi\) de dicho Hamiltoniano pueden elegirse de la forma de una onda plana por una función con la periodicidad de la red. Por lo que podemos escribir las eigenfunciones de la siguiente forma,